package com.yeban.base.day06.homework;

/**
 * @Desc TODO
 * @Author yeban
 * @Date 2025/10/2
 */

import java.util.Scanner;

/**
 * 2.
 * 分析以下需求，并用代码实现
 *  1.提示用户输入10个整数，存入到int数组中；根据以下要求实现相关功能
 *  2.提示用户输入一个数字作为数组索引，查找数组中该索引对应的元素，
 *  （需要判断输入的数字是否在0-9之间包含临界值，如果该数字不符合要求则随机生成一个符合要求的索引）
 *  3.将a中得到的索引对应的元素的左右两边元素进行互换，若对应的元素是第一个或最后一个则不做任何操作
 */
public class MethodTest02 {

    /**
     * 提示用户输入10个整数
     */
    public void userPrint() {

    }

    /**
     * 将得到的索引，左右两边的元素进行呼唤，若对应的元素是第一个或最后一个则不做任何操作
     */
    public void arrNumberChange(int[] arr, int index) {
        if(index != 0 && index != arr.length - 1) {
            int temp = arr[index - 1];
            arr[index - 1] = arr[index + 1];
            arr[index + 1] = temp;
            System.out.println("该索引左右两边的值已互换！");

            System.out.print("当前数组为：");
            for(int num : arr) {
                System.out.print(num + " ");
            }
            System.out.println();

        }

        if (index == 0) {
            System.out.println("该索引在第一个不进行任何操作！");
        } else if(index == arr.length - 1) {
            System.out.println("该索引在第最后后个不进行任何操作！");
        }
    }

    public static void main(String[] args) {

        MethodTest02 test = new MethodTest02();

        //  提示用户输入10个数字
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入依次输入10个数字（用空格隔开）：");
        int[] arr = new int[10];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
        }

        while(true) {
            // 提示输入索引
            System.out.print("请输入一个数字作为数组的索引（查找数组中该索引对应的元素）：");
            int n = sc.nextInt();
            if(n < 0 || n > 9) {
                System.out.println(n + "不在索引范围[0,9]中，已随机生成一个符合要求的索引！");
                n = (int)(Math.random() * 10);
                System.out.println("生成的新索引值为：" + n);
            }

            System.out.println("该索引对应的值为：" + arr[n]);
            test.arrNumberChange(arr, n);

            //每次循环之后换个行
            System.out.println();
        }
    }
}
